﻿#include "Server.SMain.h"
#include "../Server/Settings.h"
#include "Database/Server.ItemInfoForm.h"
#include "Database/Server.MonsterInfoForm.h"
#include "Database/Server.NPCInfoForm.h"
#include "Server.BalanceConfigForm.h"
#include "Database/Server.QuestInfoForm.h"
#include "Server.ConfigForm.h"
#include "Account/Server.AccountInfoForm.h"
#include "Database/Server.MapInfoForm.h"
#include "Systems/Server.DragonInfoForm.h"
#include "Systems/Server.MiningInfoForm.h"
#include "Systems/Server.GuildInfoForm.h"
#include "Systems/Server.SystemInfoForm.h"
#include "../Shared/Enums.h"
#include "Account/Server.PlayerInfoForm.h"
#include "Database/Server.MagicInfoForm.h"
#include "Systems/Server.ConquestInfoForm.h"
#include "Systems/Server.MirForms.Systems.MonsterTunerForm.h"
#include "Database/Server.GameShop.h"
#include "Database/Server.Database.ItemInfoFormNew.h"
#include "Database/Server.Database.MonsterInfoFormNew.h"

using namespace Server::MirEnvir;
using namespace Server::MirDatabase;
using namespace Server::MirForms::Systems;
using namespace Server::Database;

namespace Server
{

    Server::MirEnvir::Envir *SMain::getEnvir()
    {
        return Envir::getMain();
    }

    Server::MirEnvir::Envir *SMain::getEditEnvir()
    {
        return getEnvir()->Edit;
    }

    Server::MessageQueue *SMain::getMessageQueue()
    {
        return MessageQueue::getInstance();
    }

    SMain::SMain()
    {
        InitializeComponent();

        AutoResize();
    }

    void SMain::AutoResize()
    {
        int columnCount = PlayersOnlineListView->Columns->Count;

        for (ColumnHeader *column : *PlayersOnlineListView->Columns)
        {
            column->Width = PlayersOnlineListView->Width / (columnCount - 1) - 1;
        }

        indexHeader->Width = 2;
    }

    void SMain::Enqueue(std::runtime_error ex)
    {
        getMessageQueue()->Enqueue(ex);
    }

    void SMain::EnqueueDebugging(const std::string &msg)
    {
        getMessageQueue()->EnqueueDebugging(msg);
    }

    void SMain::EnqueueChat(const std::string &msg)
    {
        getMessageQueue()->EnqueueChat(msg);
    }

    void SMain::Enqueue(const std::string &msg)
    {
        getMessageQueue()->Enqueue(msg);
    }

    void SMain::configToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {

    }

    void SMain::InterfaceTimer_Tick(std::any sender, EventArgs *e)
    {
        try
        {
            Text = StringHelper::formatSimple("Total: {0}, Real: {1}", Envir::LastCount, Envir::LastRealCount);
            PlayersLabel->Text = StringHelper::formatSimple("Players: {0}", getEnvir()->Players.size());
            MonsterLabel->Text = StringHelper::formatSimple("Monsters: {0}", getEnvir()->MonsterCount);
            ConnectionsLabel->Text = StringHelper::formatSimple("Connections: {0}", getEnvir()->Connections.size());

            if (Settings::Multithreaded && (!getEnvir()->MobThreads.empty()))
            {
                CycleDelayLabel->Text = std::string::Format("CycleDelays: {0:0000}", Envir::LastRunTime);
                for (int i = 0; i < getEnvir()->MobThreads.size(); i++)
                {
                    if (getEnvir()->MobThreads[i] == nullptr)
                    {
                        break;
                    }
                    CycleDelayLabel->Text = CycleDelayLabel->Text + std::string::Format("|{0:0000}", getEnvir()->MobThreads[i]->LastRunTime);

                }
            }
            else
            {
                CycleDelayLabel->Text = StringHelper::formatSimple("CycleDelay: {0}", Envir::LastRunTime);
            }

            while (!getMessageQueue()->MessageLog->IsEmpty)
            {
                std::string message;

                if (!getMessageQueue()->MessageLog->TryDequeue(message))
                {
                    continue;
                }

                LogTextBox->AppendText(message);
            }

            while (!getMessageQueue()->DebugLog->IsEmpty)
            {
                std::string message;

                if (!getMessageQueue()->DebugLog->TryDequeue(message))
                {
                    continue;
                }

                DebugLogTextBox->AppendText(message);
            }

            while (!getMessageQueue()->ChatLog->IsEmpty)
            {
                std::string message;

                if (!getMessageQueue()->ChatLog->TryDequeue(message))
                {
                    continue;
                }

                ChatLogTextBox->AppendText(message);
            }

            ProcessPlayersOnlineTab();
        }
        catch (const std::runtime_error &ex)
        {
            MessageBox::Show(ex.what());
        }
    }

    ListViewItem *SMain::CreateListView(CharacterInfo *character)
    {
        ListViewItem *ListItem = new ListViewItem(std::to_string(character->Index));
        ListItem->Tag = character;

        ListItem->SubItems->Add(character->Name);
        ListItem->SubItems->Add(std::to_string(character->Level));
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
        ListItem->SubItems->Add(character->Class.ToString());
//C# TO C++ CONVERTER TODO TASK: There is no C++ equivalent to 'ToString':
        ListItem->SubItems->Add(character->Gender.ToString());

//C# TO C++ CONVERTER TODO TASK: A 'delete ListItem' statement was not added since ListItem was used in a 'return' or 'throw' statement.
        return ListItem;
    }

    void SMain::ProcessPlayersOnlineTab()
    {
        if (PlayersOnlineListView->Items->Count != getEnvir()->Players.size())
        {
            PlayersOnlineListView->Items->Clear();

            for (int i = PlayersOnlineListView->Items->Count; i < getEnvir()->Players.size(); i++)
            {
                CharacterInfo *character = getEnvir()->Players[i]->Info;

                ListViewItem *tempItem = CreateListView(character);

                PlayersOnlineListView->Items->Add(tempItem);
            }
        }
    }

    void SMain::startServerToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        getEnvir()->Start();
    }

    void SMain::stopServerToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        getEnvir()->Stop();
        getEnvir()->MonsterCount = 0;
    }

    void SMain::SMain_FormClosing(std::any sender, FormClosingEventArgs *e)
    {
        getEnvir()->Stop();
    }

    void SMain::closeServerToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        Close();
    }

    void SMain::itemInfoToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        ItemInfoForm *form = new ItemInfoForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::monsterInfoToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        MonsterInfoForm *form = new MonsterInfoForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::nPCInfoToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        NPCInfoForm *form = new NPCInfoForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::balanceConfigToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        BalanceConfigForm *form = new BalanceConfigForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::questInfoToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        QuestInfoForm *form = new QuestInfoForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::serverToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        ConfigForm *form = new ConfigForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::balanceToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        BalanceConfigForm *form = new BalanceConfigForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::accountToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        AccountInfoForm *form = new AccountInfoForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::mapInfoToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        MapInfoForm *form = new MapInfoForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::itemInfoToolStripMenuItem_Click_1(std::any sender, EventArgs *e)
    {
        ItemInfoForm *form = new ItemInfoForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::monsterInfoToolStripMenuItem_Click_1(std::any sender, EventArgs *e)
    {
        MonsterInfoForm *form = new MonsterInfoForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::nPCInfoToolStripMenuItem_Click_1(std::any sender, EventArgs *e)
    {
        NPCInfoForm *form = new NPCInfoForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::questInfoToolStripMenuItem_Click_1(std::any sender, EventArgs *e)
    {
        QuestInfoForm *form = new QuestInfoForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::dragonSystemToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        DragonInfoForm *form = new DragonInfoForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::miningToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        MiningInfoForm *form = new MiningInfoForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::guildsToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        GuildInfoForm *form = new GuildInfoForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::fishingToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        SystemInfoForm *form = new SystemInfoForm(0);

        form->ShowDialog();

        delete form;
    }

    void SMain::GlobalMessageButton_Click(std::any sender, EventArgs *e)
    {
        if (GlobalMessageTextBox->Text.Length < 1)
        {
            return;
        }

        for (auto player : getEnvir()->Players)
        {
            player->ReceiveChat(GlobalMessageTextBox->Text, ChatType::Announcement);
        }

        EnqueueChat(GlobalMessageTextBox->Text);
        GlobalMessageTextBox->Text = "";
    }

    void SMain::PlayersOnlineListView_DoubleClick(std::any sender, EventArgs *e)
    {
        CustomFormControl::ListViewNF *list = std::any_cast<CustomFormControl::ListViewNF*>(sender);

        if (list->SelectedItems->Count > 0)
        {
            ListViewItem *item = list->SelectedItems[0];
            std::string index = item->SubItems[0]->Text;

            PlayerInfoForm *form = new PlayerInfoForm(std::stoul(index));

            form->ShowDialog();

            delete form;
        }
    }

    void SMain::PlayersOnlineListView_ColumnWidthChanging(std::any sender, ColumnWidthChangingEventArgs *e)
    {
        e->Cancel = true;
        e->NewWidth = PlayersOnlineListView->Columns[e->ColumnIndex]->Width;
    }

    void SMain::mailToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        SystemInfoForm *form = new SystemInfoForm(1);

        form->ShowDialog();

        delete form;
    }

    void SMain::goodsToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        SystemInfoForm *form = new SystemInfoForm(2);

        form->ShowDialog();

        delete form;
    }

    void SMain::relationshipToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        SystemInfoForm *form = new SystemInfoForm(4);

        form->ShowDialog();

        delete form;
    }

    void SMain::refiningToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        SystemInfoForm *form = new SystemInfoForm(3);

        form->ShowDialog();

        delete form;
    }

    void SMain::mentorToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        SystemInfoForm *form = new SystemInfoForm(5);

        form->ShowDialog();

        delete form;
    }

    void SMain::magicInfoToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        MagicInfoForm *form = new MagicInfoForm();
        form->ShowDialog();

        delete form;
    }

    void SMain::SMain_Load(std::any sender, EventArgs *e)
    {
        auto loaded = getEditEnvir()->LoadDB();

        if (loaded)
        {
            getEnvir()->Start();
        }

        AutoResize();
    }

    void SMain::gemToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        SystemInfoForm *form = new SystemInfoForm(6);

        form->ShowDialog();

        delete form;
    }

    void SMain::conquestToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        ConquestInfoForm *form = new ConquestInfoForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::rebootServerToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        getEnvir()->Reboot();
    }

    void SMain::respawnsToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        SystemInfoForm *form = new SystemInfoForm(7);

        form->ShowDialog();

        delete form;
    }

    void SMain::monsterTunerToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        if (!SMain::getEnvir()->getRunning())
        {
            MessageBox::Show("Server must be running to tune monsters", "Notice", MessageBoxButtons::OK, MessageBoxIcon::Asterisk);
            return;
        }

        MonsterTunerForm *form = new MonsterTunerForm();

        form->ShowDialog();

        delete form;
    }

    void SMain::reloadNPCsToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        getEnvir()->ReloadNPCs();
    }

    void SMain::reloadDropsToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        getEnvir()->ReloadDrops();
    }

    void SMain::gameshopToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        GameShop *form = new GameShop();
        form->ShowDialog();

        delete form;
    }

    void SMain::itemNEWToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        ItemInfoFormNew *form = new ItemInfoFormNew();

        form->ShowDialog();

        delete form;
    }

    void SMain::monsterExperimentalToolStripMenuItem_Click(std::any sender, EventArgs *e)
    {
        MonsterInfoFormNew *form = new MonsterInfoFormNew();

        form->ShowDialog();

        delete form;
    }

    void SMain::Dispose(bool disposing)
    {
        if (disposing && (components != nullptr))
        {
            components->Dispose();
        }
        System::Windows::Forms::Form::Dispose(disposing);
    }

    void SMain::InitializeComponent()
    {
        this->components = new System::ComponentModel::Container();
        this->MainTabs = new System::Windows::Forms::TabControl();
        this->tabPage1 = new System::Windows::Forms::TabPage();
        this->LogTextBox = new System::Windows::Forms::TextBox();
        this->tabPage2 = new System::Windows::Forms::TabPage();
        this->DebugLogTextBox = new System::Windows::Forms::TextBox();
        this->tabPage3 = new System::Windows::Forms::TabPage();
        this->groupBox1 = new System::Windows::Forms::GroupBox();
        this->GlobalMessageButton = new System::Windows::Forms::Button();
        this->GlobalMessageTextBox = new System::Windows::Forms::TextBox();
        this->ChatLogTextBox = new System::Windows::Forms::TextBox();
        this->tabPage4 = new System::Windows::Forms::TabPage();
        this->PlayersOnlineListView = new CustomFormControl::ListViewNF();
        System::Windows::Forms::ColumnHeader tempVar();
        this->indexHeader = (static_cast<System::Windows::Forms::ColumnHeader*>(&tempVar));
        System::Windows::Forms::ColumnHeader tempVar2();
        this->nameHeader = (static_cast<System::Windows::Forms::ColumnHeader*>(&tempVar2));
        System::Windows::Forms::ColumnHeader tempVar3();
        this->levelHeader = (static_cast<System::Windows::Forms::ColumnHeader*>(&tempVar3));
        System::Windows::Forms::ColumnHeader tempVar4();
        this->classHeader = (static_cast<System::Windows::Forms::ColumnHeader*>(&tempVar4));
        System::Windows::Forms::ColumnHeader tempVar5();
        this->genderHeader = (static_cast<System::Windows::Forms::ColumnHeader*>(&tempVar5));
        this->StatusBar = new System::Windows::Forms::StatusStrip();
        this->PlayersLabel = new System::Windows::Forms::ToolStripStatusLabel();
        this->MonsterLabel = new System::Windows::Forms::ToolStripStatusLabel();
        this->ConnectionsLabel = new System::Windows::Forms::ToolStripStatusLabel();
        this->CycleDelayLabel = new System::Windows::Forms::ToolStripStatusLabel();
        this->MainMenu = new System::Windows::Forms::MenuStrip();
        this->controlToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->startServerToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->stopServerToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->rebootServerToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->toolStripMenuItem1 = new System::Windows::Forms::ToolStripSeparator();
        this->reloadNPCsToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->reloadDropsToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->toolStripSeparator1 = new System::Windows::Forms::ToolStripSeparator();
        this->closeServerToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->accountToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->databaseFormsToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->mapInfoToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->itemInfoToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->monsterInfoToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->nPCInfoToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->questInfoToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->magicInfoToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->gameshopToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->itemNEWToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->configToolStripMenuItem1 = new System::Windows::Forms::ToolStripMenuItem();
        this->serverToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->balanceToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->systemToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->dragonSystemToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->miningToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->guildsToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->fishingToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->mailToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->goodsToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->refiningToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->relationshipToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->mentorToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->gemToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->conquestToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->respawnsToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->monsterTunerToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->InterfaceTimer = new System::Windows::Forms::Timer(this->components);
        this->monsterExperimentalToolStripMenuItem = new System::Windows::Forms::ToolStripMenuItem();
        this->MainTabs->SuspendLayout();
        this->tabPage1->SuspendLayout();
        this->tabPage2->SuspendLayout();
        this->tabPage3->SuspendLayout();
        this->groupBox1->SuspendLayout();
        this->tabPage4->SuspendLayout();
        this->StatusBar->SuspendLayout();
        this->MainMenu->SuspendLayout();
        this->SuspendLayout();
        // 
        // MainTabs
        // 
        this->MainTabs->Controls->Add(this->tabPage1);
        this->MainTabs->Controls->Add(this->tabPage2);
        this->MainTabs->Controls->Add(this->tabPage3);
        this->MainTabs->Controls->Add(this->tabPage4);
        this->MainTabs->Dock = System::Windows::Forms::DockStyle::Fill;
        this->MainTabs->Location = new System::Drawing::Point(0, 24);
        this->MainTabs->Name = "MainTabs";
        this->MainTabs->SelectedIndex = 0;
        this->MainTabs->Size = new System::Drawing::Size(485, 346);
        this->MainTabs->TabIndex = 5;
        // 
        // tabPage1
        // 
        this->tabPage1->Controls->Add(this->LogTextBox);
        this->tabPage1->Location = new System::Drawing::Point(4, 22);
        this->tabPage1->Name = "tabPage1";
        this->tabPage1->Padding = new System::Windows::Forms::Padding(3);
        this->tabPage1->Size = new System::Drawing::Size(477, 320);
        this->tabPage1->TabIndex = 0;
        this->tabPage1->Text = "Logs";
        this->tabPage1->UseVisualStyleBackColor = true;
        // 
        // LogTextBox
        // 
        this->LogTextBox->Dock = System::Windows::Forms::DockStyle::Fill;
        this->LogTextBox->Location = new System::Drawing::Point(3, 3);
        this->LogTextBox->Multiline = true;
        this->LogTextBox->Name = "LogTextBox";
        this->LogTextBox->ReadOnly = true;
        this->LogTextBox->ScrollBars = System::Windows::Forms::ScrollBars::Vertical;
        this->LogTextBox->Size = new System::Drawing::Size(471, 314);
        this->LogTextBox->TabIndex = 2;
        // 
        // tabPage2
        // 
        this->tabPage2->Controls->Add(this->DebugLogTextBox);
        this->tabPage2->Location = new System::Drawing::Point(4, 22);
        this->tabPage2->Name = "tabPage2";
        this->tabPage2->Padding = new System::Windows::Forms::Padding(3);
        this->tabPage2->Size = new System::Drawing::Size(477, 320);
        this->tabPage2->TabIndex = 1;
        this->tabPage2->Text = "Debug Logs";
        this->tabPage2->UseVisualStyleBackColor = true;
        // 
        // DebugLogTextBox
        // 
        this->DebugLogTextBox->Dock = System::Windows::Forms::DockStyle::Fill;
        this->DebugLogTextBox->Location = new System::Drawing::Point(3, 3);
        this->DebugLogTextBox->Multiline = true;
        this->DebugLogTextBox->Name = "DebugLogTextBox";
        this->DebugLogTextBox->ReadOnly = true;
        this->DebugLogTextBox->ScrollBars = System::Windows::Forms::ScrollBars::Vertical;
        this->DebugLogTextBox->Size = new System::Drawing::Size(471, 314);
        this->DebugLogTextBox->TabIndex = 3;
        // 
        // tabPage3
        // 
        this->tabPage3->Controls->Add(this->groupBox1);
        this->tabPage3->Controls->Add(this->ChatLogTextBox);
        this->tabPage3->Location = new System::Drawing::Point(4, 22);
        this->tabPage3->Name = "tabPage3";
        this->tabPage3->Padding = new System::Windows::Forms::Padding(3);
        this->tabPage3->Size = new System::Drawing::Size(477, 320);
        this->tabPage3->TabIndex = 2;
        this->tabPage3->Text = "Chat Logs";
        this->tabPage3->UseVisualStyleBackColor = true;
        // 
        // groupBox1
        // 
        this->groupBox1->Controls->Add(this->GlobalMessageButton);
        this->groupBox1->Controls->Add(this->GlobalMessageTextBox);
        this->groupBox1->Dock = System::Windows::Forms::DockStyle::Bottom;
        this->groupBox1->Location = new System::Drawing::Point(3, 271);
        this->groupBox1->Name = "groupBox1";
        this->groupBox1->Size = new System::Drawing::Size(471, 46);
        this->groupBox1->TabIndex = 7;
        this->groupBox1->TabStop = false;
        this->groupBox1->Text = "Send Message";
        // 
        // GlobalMessageButton
        // 
        this->GlobalMessageButton->Location = new System::Drawing::Point(392, 14);
        this->GlobalMessageButton->Name = "GlobalMessageButton";
        this->GlobalMessageButton->Size = new System::Drawing::Size(73, 24);
        this->GlobalMessageButton->TabIndex = 0;
        this->GlobalMessageButton->Text = "Send";
        this->GlobalMessageButton->UseVisualStyleBackColor = true;
        this->GlobalMessageButton->Click += new System::EventHandler(this->GlobalMessageButton_Click);
        // 
        // GlobalMessageTextBox
        // 
        this->GlobalMessageTextBox->Location = new System::Drawing::Point(6, 17);
        this->GlobalMessageTextBox->Name = "GlobalMessageTextBox";
        this->GlobalMessageTextBox->Size = new System::Drawing::Size(380, 20);
        this->GlobalMessageTextBox->TabIndex = 0;
        // 
        // ChatLogTextBox
        // 
        this->ChatLogTextBox->Location = new System::Drawing::Point(3, 3);
        this->ChatLogTextBox->Multiline = true;
        this->ChatLogTextBox->Name = "ChatLogTextBox";
        this->ChatLogTextBox->ReadOnly = true;
        this->ChatLogTextBox->ScrollBars = System::Windows::Forms::ScrollBars::Vertical;
        this->ChatLogTextBox->Size = new System::Drawing::Size(471, 269);
        this->ChatLogTextBox->TabIndex = 4;
        // 
        // tabPage4
        // 
        this->tabPage4->BackColor = System::Drawing::SystemColors::Control;
        this->tabPage4->Controls->Add(this->PlayersOnlineListView);
        this->tabPage4->Location = new System::Drawing::Point(4, 22);
        this->tabPage4->Name = "tabPage4";
        this->tabPage4->Padding = new System::Windows::Forms::Padding(3);
        this->tabPage4->Size = new System::Drawing::Size(477, 320);
        this->tabPage4->TabIndex = 3;
        this->tabPage4->Text = "Players Online";
        // 
        // PlayersOnlineListView
        // 
        this->PlayersOnlineListView->Activation = System::Windows::Forms::ItemActivation::OneClick;
        this->PlayersOnlineListView->BackColor = System::Drawing::SystemColors::Window;
        this->PlayersOnlineListView->Columns->AddRange(std::vector<System::Windows::Forms::ColumnHeader*> {this->indexHeader, this->nameHeader, this->levelHeader, this->classHeader, this->genderHeader});
        this->PlayersOnlineListView->Dock = System::Windows::Forms::DockStyle::Fill;
        this->PlayersOnlineListView->FullRowSelect = true;
        this->PlayersOnlineListView->GridLines = true;
        this->PlayersOnlineListView->HideSelection = false;
        this->PlayersOnlineListView->Location = new System::Drawing::Point(3, 3);
        this->PlayersOnlineListView->Name = "PlayersOnlineListView";
        this->PlayersOnlineListView->Size = new System::Drawing::Size(471, 314);
        this->PlayersOnlineListView->Sorting = System::Windows::Forms::SortOrder::Ascending;
        this->PlayersOnlineListView->TabIndex = 0;
        this->PlayersOnlineListView->UseCompatibleStateImageBehavior = false;
        this->PlayersOnlineListView->View = System::Windows::Forms::View::Details;
        this->PlayersOnlineListView->ColumnWidthChanging += new System::Windows::Forms::ColumnWidthChangingEventHandler(this->PlayersOnlineListView_ColumnWidthChanging);
        this->PlayersOnlineListView->DoubleClick += new System::EventHandler(this->PlayersOnlineListView_DoubleClick);
        // 
        // indexHeader
        // 
        this->indexHeader->Text = "Index";
        this->indexHeader->Width = 71;
        // 
        // nameHeader
        // 
        this->nameHeader->Text = "Name";
        this->nameHeader->Width = 93;
        // 
        // levelHeader
        // 
        this->levelHeader->Text = "Level";
        this->levelHeader->Width = 90;
        // 
        // classHeader
        // 
        this->classHeader->Text = "Class";
        this->classHeader->Width = 100;
        // 
        // genderHeader
        // 
        this->genderHeader->Text = "Gender";
        this->genderHeader->Width = 98;
        // 
        // StatusBar
        // 
        this->StatusBar->Items->AddRange(std::vector<System::Windows::Forms::ToolStripItem*> {this->PlayersLabel, this->MonsterLabel, this->ConnectionsLabel, this->CycleDelayLabel});
        this->StatusBar->Location = new System::Drawing::Point(0, 370);
        this->StatusBar->Name = "StatusBar";
        this->StatusBar->Size = new System::Drawing::Size(485, 24);
        this->StatusBar->SizingGrip = false;
        this->StatusBar->TabIndex = 4;
        this->StatusBar->Text = "statusStrip1";
        // 
        // PlayersLabel
        // 
        this->PlayersLabel->BorderSides = (static_cast<System::Windows::Forms::ToolStripStatusLabelBorderSides*>((((System::Windows::Forms::ToolStripStatusLabelBorderSides::Left | System::Windows::Forms::ToolStripStatusLabelBorderSides::Top) | System::Windows::Forms::ToolStripStatusLabelBorderSides::Right) | System::Windows::Forms::ToolStripStatusLabelBorderSides::Bottom)));
        this->PlayersLabel->Name = "PlayersLabel";
        this->PlayersLabel->Size = new System::Drawing::Size(60, 19);
        this->PlayersLabel->Text = "Players: 0";
        // 
        // MonsterLabel
        // 
        this->MonsterLabel->BorderSides = (static_cast<System::Windows::Forms::ToolStripStatusLabelBorderSides*>((((System::Windows::Forms::ToolStripStatusLabelBorderSides::Left | System::Windows::Forms::ToolStripStatusLabelBorderSides::Top) | System::Windows::Forms::ToolStripStatusLabelBorderSides::Right) | System::Windows::Forms::ToolStripStatusLabelBorderSides::Bottom)));
        this->MonsterLabel->Name = "MonsterLabel";
        this->MonsterLabel->Size = new System::Drawing::Size(72, 19);
        this->MonsterLabel->Text = "Monsters: 0";
        // 
        // ConnectionsLabel
        // 
        this->ConnectionsLabel->BorderSides = (static_cast<System::Windows::Forms::ToolStripStatusLabelBorderSides*>((((System::Windows::Forms::ToolStripStatusLabelBorderSides::Left | System::Windows::Forms::ToolStripStatusLabelBorderSides::Top) | System::Windows::Forms::ToolStripStatusLabelBorderSides::Right) | System::Windows::Forms::ToolStripStatusLabelBorderSides::Bottom)));
        this->ConnectionsLabel->Name = "ConnectionsLabel";
        this->ConnectionsLabel->Size = new System::Drawing::Size(90, 19);
        this->ConnectionsLabel->Text = "Connections: 0";
        // 
        // CycleDelayLabel
        // 
        this->CycleDelayLabel->BorderSides = (static_cast<System::Windows::Forms::ToolStripStatusLabelBorderSides*>((((System::Windows::Forms::ToolStripStatusLabelBorderSides::Left | System::Windows::Forms::ToolStripStatusLabelBorderSides::Top) | System::Windows::Forms::ToolStripStatusLabelBorderSides::Right) | System::Windows::Forms::ToolStripStatusLabelBorderSides::Bottom)));
        this->CycleDelayLabel->Name = "CycleDelayLabel";
        this->CycleDelayLabel->Size = new System::Drawing::Size(81, 19);
        this->CycleDelayLabel->Text = "CycleDelay: 0";
        // 
        // MainMenu
        // 
        this->MainMenu->Items->AddRange(std::vector<System::Windows::Forms::ToolStripItem*> {this->controlToolStripMenuItem, this->accountToolStripMenuItem, this->databaseFormsToolStripMenuItem, this->configToolStripMenuItem1});
        this->MainMenu->Location = new System::Drawing::Point(0, 0);
        this->MainMenu->Name = "MainMenu";
        this->MainMenu->Size = new System::Drawing::Size(485, 24);
        this->MainMenu->TabIndex = 3;
        this->MainMenu->Text = "menuStrip1";
        // 
        // controlToolStripMenuItem
        // 
        this->controlToolStripMenuItem->DropDownItems->AddRange(std::vector<System::Windows::Forms::ToolStripItem*> {this->startServerToolStripMenuItem, this->stopServerToolStripMenuItem, this->rebootServerToolStripMenuItem, this->toolStripMenuItem1, this->reloadNPCsToolStripMenuItem, this->reloadDropsToolStripMenuItem, this->toolStripSeparator1, this->closeServerToolStripMenuItem});
        this->controlToolStripMenuItem->Name = "controlToolStripMenuItem";
        this->controlToolStripMenuItem->Size = new System::Drawing::Size(59, 20);
        this->controlToolStripMenuItem->Text = "Control";
        // 
        // startServerToolStripMenuItem
        // 
        this->startServerToolStripMenuItem->Name = "startServerToolStripMenuItem";
        this->startServerToolStripMenuItem->Size = new System::Drawing::Size(147, 22);
        this->startServerToolStripMenuItem->Text = "Start Server";
        this->startServerToolStripMenuItem->Click += new System::EventHandler(this->startServerToolStripMenuItem_Click);
        // 
        // stopServerToolStripMenuItem
        // 
        this->stopServerToolStripMenuItem->Name = "stopServerToolStripMenuItem";
        this->stopServerToolStripMenuItem->Size = new System::Drawing::Size(147, 22);
        this->stopServerToolStripMenuItem->Text = "Stop Server";
        this->stopServerToolStripMenuItem->Click += new System::EventHandler(this->stopServerToolStripMenuItem_Click);
        // 
        // rebootServerToolStripMenuItem
        // 
        this->rebootServerToolStripMenuItem->Name = "rebootServerToolStripMenuItem";
        this->rebootServerToolStripMenuItem->Size = new System::Drawing::Size(147, 22);
        this->rebootServerToolStripMenuItem->Text = "Reboot Server";
        this->rebootServerToolStripMenuItem->Click += new System::EventHandler(this->rebootServerToolStripMenuItem_Click);
        // 
        // toolStripMenuItem1
        // 
        this->toolStripMenuItem1->Name = "toolStripMenuItem1";
        this->toolStripMenuItem1->Size = new System::Drawing::Size(144, 6);
        // 
        // reloadNPCsToolStripMenuItem
        // 
        this->reloadNPCsToolStripMenuItem->Name = "reloadNPCsToolStripMenuItem";
        this->reloadNPCsToolStripMenuItem->Size = new System::Drawing::Size(147, 22);
        this->reloadNPCsToolStripMenuItem->Text = "Reload NPCs";
        this->reloadNPCsToolStripMenuItem->Click += new System::EventHandler(this->reloadNPCsToolStripMenuItem_Click);
        // 
        // reloadDropsToolStripMenuItem
        // 
        this->reloadDropsToolStripMenuItem->Name = "reloadDropsToolStripMenuItem";
        this->reloadDropsToolStripMenuItem->Size = new System::Drawing::Size(147, 22);
        this->reloadDropsToolStripMenuItem->Text = "Reload Drops";
        this->reloadDropsToolStripMenuItem->Click += new System::EventHandler(this->reloadDropsToolStripMenuItem_Click);
        // 
        // toolStripSeparator1
        // 
        this->toolStripSeparator1->Name = "toolStripSeparator1";
        this->toolStripSeparator1->Size = new System::Drawing::Size(144, 6);
        // 
        // closeServerToolStripMenuItem
        // 
        this->closeServerToolStripMenuItem->Name = "closeServerToolStripMenuItem";
        this->closeServerToolStripMenuItem->Size = new System::Drawing::Size(147, 22);
        this->closeServerToolStripMenuItem->Text = "Close Server";
        this->closeServerToolStripMenuItem->Click += new System::EventHandler(this->closeServerToolStripMenuItem_Click);
        // 
        // accountToolStripMenuItem
        // 
        this->accountToolStripMenuItem->Name = "accountToolStripMenuItem";
        this->accountToolStripMenuItem->Size = new System::Drawing::Size(64, 20);
        this->accountToolStripMenuItem->Text = "Account";
        this->accountToolStripMenuItem->Click += new System::EventHandler(this->accountToolStripMenuItem_Click);
        // 
        // databaseFormsToolStripMenuItem
        // 
        this->databaseFormsToolStripMenuItem->DropDownItems->AddRange(std::vector<System::Windows::Forms::ToolStripItem*> {this->mapInfoToolStripMenuItem, this->itemInfoToolStripMenuItem, this->monsterInfoToolStripMenuItem, this->nPCInfoToolStripMenuItem, this->questInfoToolStripMenuItem, this->magicInfoToolStripMenuItem, this->gameshopToolStripMenuItem, this->itemNEWToolStripMenuItem, this->monsterExperimentalToolStripMenuItem});
        this->databaseFormsToolStripMenuItem->Name = "databaseFormsToolStripMenuItem";
        this->databaseFormsToolStripMenuItem->Size = new System::Drawing::Size(67, 20);
        this->databaseFormsToolStripMenuItem->Text = "Database";
        // 
        // mapInfoToolStripMenuItem
        // 
        this->mapInfoToolStripMenuItem->Name = "mapInfoToolStripMenuItem";
        this->mapInfoToolStripMenuItem->Size = new System::Drawing::Size(198, 22);
        this->mapInfoToolStripMenuItem->Text = "Map";
        this->mapInfoToolStripMenuItem->Click += new System::EventHandler(this->mapInfoToolStripMenuItem_Click);
        // 
        // itemInfoToolStripMenuItem
        // 
        this->itemInfoToolStripMenuItem->Name = "itemInfoToolStripMenuItem";
        this->itemInfoToolStripMenuItem->Size = new System::Drawing::Size(198, 22);
        this->itemInfoToolStripMenuItem->Text = "Item";
        this->itemInfoToolStripMenuItem->Click += new System::EventHandler(this->itemInfoToolStripMenuItem_Click);
        // 
        // monsterInfoToolStripMenuItem
        // 
        this->monsterInfoToolStripMenuItem->Name = "monsterInfoToolStripMenuItem";
        this->monsterInfoToolStripMenuItem->Size = new System::Drawing::Size(198, 22);
        this->monsterInfoToolStripMenuItem->Text = "Monster";
        this->monsterInfoToolStripMenuItem->Click += new System::EventHandler(this->monsterInfoToolStripMenuItem_Click);
        // 
        // nPCInfoToolStripMenuItem
        // 
        this->nPCInfoToolStripMenuItem->Name = "nPCInfoToolStripMenuItem";
        this->nPCInfoToolStripMenuItem->Size = new System::Drawing::Size(198, 22);
        this->nPCInfoToolStripMenuItem->Text = "NPC";
        this->nPCInfoToolStripMenuItem->Click += new System::EventHandler(this->nPCInfoToolStripMenuItem_Click);
        // 
        // questInfoToolStripMenuItem
        // 
        this->questInfoToolStripMenuItem->Name = "questInfoToolStripMenuItem";
        this->questInfoToolStripMenuItem->Size = new System::Drawing::Size(198, 22);
        this->questInfoToolStripMenuItem->Text = "Quest";
        this->questInfoToolStripMenuItem->Click += new System::EventHandler(this->questInfoToolStripMenuItem_Click);
        // 
        // magicInfoToolStripMenuItem
        // 
        this->magicInfoToolStripMenuItem->Name = "magicInfoToolStripMenuItem";
        this->magicInfoToolStripMenuItem->Size = new System::Drawing::Size(198, 22);
        this->magicInfoToolStripMenuItem->Text = "Magic";
        this->magicInfoToolStripMenuItem->Click += new System::EventHandler(this->magicInfoToolStripMenuItem_Click);
        // 
        // gameshopToolStripMenuItem
        // 
        this->gameshopToolStripMenuItem->Name = "gameshopToolStripMenuItem";
        this->gameshopToolStripMenuItem->Size = new System::Drawing::Size(198, 22);
        this->gameshopToolStripMenuItem->Text = "Gameshop";
        this->gameshopToolStripMenuItem->Click += new System::EventHandler(this->gameshopToolStripMenuItem_Click);
        // 
        // itemNEWToolStripMenuItem
        // 
        this->itemNEWToolStripMenuItem->Name = "itemNEWToolStripMenuItem";
        this->itemNEWToolStripMenuItem->Size = new System::Drawing::Size(198, 22);
        this->itemNEWToolStripMenuItem->Text = "Item (Experimental)";
        this->itemNEWToolStripMenuItem->Click += new System::EventHandler(this->itemNEWToolStripMenuItem_Click);
        // 
        // configToolStripMenuItem1
        // 
        this->configToolStripMenuItem1->DropDownItems->AddRange(std::vector<System::Windows::Forms::ToolStripItem*> {this->serverToolStripMenuItem, this->balanceToolStripMenuItem, this->systemToolStripMenuItem, this->monsterTunerToolStripMenuItem});
        this->configToolStripMenuItem1->Name = "configToolStripMenuItem1";
        this->configToolStripMenuItem1->Size = new System::Drawing::Size(55, 20);
        this->configToolStripMenuItem1->Text = "Config";
        // 
        // serverToolStripMenuItem
        // 
        this->serverToolStripMenuItem->Name = "serverToolStripMenuItem";
        this->serverToolStripMenuItem->Size = new System::Drawing::Size(151, 22);
        this->serverToolStripMenuItem->Text = "Server";
        this->serverToolStripMenuItem->Click += new System::EventHandler(this->serverToolStripMenuItem_Click);
        // 
        // balanceToolStripMenuItem
        // 
        this->balanceToolStripMenuItem->Name = "balanceToolStripMenuItem";
        this->balanceToolStripMenuItem->Size = new System::Drawing::Size(151, 22);
        this->balanceToolStripMenuItem->Text = "Balance";
        this->balanceToolStripMenuItem->Click += new System::EventHandler(this->balanceToolStripMenuItem_Click);
        // 
        // systemToolStripMenuItem
        // 
        this->systemToolStripMenuItem->DropDownItems->AddRange(std::vector<System::Windows::Forms::ToolStripItem*> {this->dragonSystemToolStripMenuItem, this->miningToolStripMenuItem, this->guildsToolStripMenuItem, this->fishingToolStripMenuItem, this->mailToolStripMenuItem, this->goodsToolStripMenuItem, this->refiningToolStripMenuItem, this->relationshipToolStripMenuItem, this->mentorToolStripMenuItem, this->gemToolStripMenuItem, this->conquestToolStripMenuItem, this->respawnsToolStripMenuItem});
        this->systemToolStripMenuItem->Name = "systemToolStripMenuItem";
        this->systemToolStripMenuItem->Size = new System::Drawing::Size(151, 22);
        this->systemToolStripMenuItem->Text = "System";
        // 
        // dragonSystemToolStripMenuItem
        // 
        this->dragonSystemToolStripMenuItem->Name = "dragonSystemToolStripMenuItem";
        this->dragonSystemToolStripMenuItem->Size = new System::Drawing::Size(139, 22);
        this->dragonSystemToolStripMenuItem->Text = "Dragon";
        this->dragonSystemToolStripMenuItem->Click += new System::EventHandler(this->dragonSystemToolStripMenuItem_Click);
        // 
        // miningToolStripMenuItem
        // 
        this->miningToolStripMenuItem->Name = "miningToolStripMenuItem";
        this->miningToolStripMenuItem->Size = new System::Drawing::Size(139, 22);
        this->miningToolStripMenuItem->Text = "Mining";
        this->miningToolStripMenuItem->Click += new System::EventHandler(this->miningToolStripMenuItem_Click);
        // 
        // guildsToolStripMenuItem
        // 
        this->guildsToolStripMenuItem->Name = "guildsToolStripMenuItem";
        this->guildsToolStripMenuItem->Size = new System::Drawing::Size(139, 22);
        this->guildsToolStripMenuItem->Text = "Guilds";
        this->guildsToolStripMenuItem->Click += new System::EventHandler(this->guildsToolStripMenuItem_Click);
        // 
        // fishingToolStripMenuItem
        // 
        this->fishingToolStripMenuItem->Name = "fishingToolStripMenuItem";
        this->fishingToolStripMenuItem->Size = new System::Drawing::Size(139, 22);
        this->fishingToolStripMenuItem->Text = "Fishing";
        this->fishingToolStripMenuItem->Click += new System::EventHandler(this->fishingToolStripMenuItem_Click);
        // 
        // mailToolStripMenuItem
        // 
        this->mailToolStripMenuItem->Name = "mailToolStripMenuItem";
        this->mailToolStripMenuItem->Size = new System::Drawing::Size(139, 22);
        this->mailToolStripMenuItem->Text = "Mail";
        this->mailToolStripMenuItem->Click += new System::EventHandler(this->mailToolStripMenuItem_Click);
        // 
        // goodsToolStripMenuItem
        // 
        this->goodsToolStripMenuItem->Name = "goodsToolStripMenuItem";
        this->goodsToolStripMenuItem->Size = new System::Drawing::Size(139, 22);
        this->goodsToolStripMenuItem->Text = "Goods";
        this->goodsToolStripMenuItem->Click += new System::EventHandler(this->goodsToolStripMenuItem_Click);
        // 
        // refiningToolStripMenuItem
        // 
        this->refiningToolStripMenuItem->Name = "refiningToolStripMenuItem";
        this->refiningToolStripMenuItem->Size = new System::Drawing::Size(139, 22);
        this->refiningToolStripMenuItem->Text = "Refining";
        this->refiningToolStripMenuItem->Click += new System::EventHandler(this->refiningToolStripMenuItem_Click);
        // 
        // relationshipToolStripMenuItem
        // 
        this->relationshipToolStripMenuItem->Name = "relationshipToolStripMenuItem";
        this->relationshipToolStripMenuItem->Size = new System::Drawing::Size(139, 22);
        this->relationshipToolStripMenuItem->Text = "Relationship";
        this->relationshipToolStripMenuItem->Click += new System::EventHandler(this->relationshipToolStripMenuItem_Click);
        // 
        // mentorToolStripMenuItem
        // 
        this->mentorToolStripMenuItem->Name = "mentorToolStripMenuItem";
        this->mentorToolStripMenuItem->Size = new System::Drawing::Size(139, 22);
        this->mentorToolStripMenuItem->Text = "Mentor";
        this->mentorToolStripMenuItem->Click += new System::EventHandler(this->mentorToolStripMenuItem_Click);
        // 
        // gemToolStripMenuItem
        // 
        this->gemToolStripMenuItem->Name = "gemToolStripMenuItem";
        this->gemToolStripMenuItem->Size = new System::Drawing::Size(139, 22);
        this->gemToolStripMenuItem->Text = "Gem";
        this->gemToolStripMenuItem->Click += new System::EventHandler(this->gemToolStripMenuItem_Click);
        // 
        // conquestToolStripMenuItem
        // 
        this->conquestToolStripMenuItem->Name = "conquestToolStripMenuItem";
        this->conquestToolStripMenuItem->Size = new System::Drawing::Size(139, 22);
        this->conquestToolStripMenuItem->Text = "Conquest";
        this->conquestToolStripMenuItem->Click += new System::EventHandler(this->conquestToolStripMenuItem_Click);
        // 
        // respawnsToolStripMenuItem
        // 
        this->respawnsToolStripMenuItem->Name = "respawnsToolStripMenuItem";
        this->respawnsToolStripMenuItem->Size = new System::Drawing::Size(139, 22);
        this->respawnsToolStripMenuItem->Text = "SpawnTick";
        this->respawnsToolStripMenuItem->Click += new System::EventHandler(this->respawnsToolStripMenuItem_Click);
        // 
        // monsterTunerToolStripMenuItem
        // 
        this->monsterTunerToolStripMenuItem->Name = "monsterTunerToolStripMenuItem";
        this->monsterTunerToolStripMenuItem->Size = new System::Drawing::Size(151, 22);
        this->monsterTunerToolStripMenuItem->Text = "Monster Tuner";
        this->monsterTunerToolStripMenuItem->Click += new System::EventHandler(this->monsterTunerToolStripMenuItem_Click);
        // 
        // InterfaceTimer
        // 
        this->InterfaceTimer->Enabled = true;
        this->InterfaceTimer->Tick += new System::EventHandler(this->InterfaceTimer_Tick);
        // 
        // monsterExperimentalToolStripMenuItem
        // 
        this->monsterExperimentalToolStripMenuItem->Name = "monsterExperimentalToolStripMenuItem";
        this->monsterExperimentalToolStripMenuItem->Size = new System::Drawing::Size(198, 22);
        this->monsterExperimentalToolStripMenuItem->Text = "Monster (Experimental)";
        this->monsterExperimentalToolStripMenuItem->Click += new System::EventHandler(this->monsterExperimentalToolStripMenuItem_Click);
        // 
        // SMain
        // 
        this->AutoScaleDimensions = new System::Drawing::SizeF(6.0F, 13.0F);
        this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
        this->AutoSizeMode = System::Windows::Forms::AutoSizeMode::GrowAndShrink;
        this->ClientSize = new System::Drawing::Size(485, 394);
        this->Controls->Add(this->MainTabs);
        this->Controls->Add(this->StatusBar);
        this->Controls->Add(this->MainMenu);
        this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedDialog;
        this->MaximizeBox = false;
        this->Name = "SMain";
        this->Text = "Legend of Mir Server";
        this->FormClosing += new System::Windows::Forms::FormClosingEventHandler(this->SMain_FormClosing);
        this->Load += new System::EventHandler(this->SMain_Load);
        this->MainTabs->ResumeLayout(false);
        this->tabPage1->ResumeLayout(false);
        this->tabPage1->PerformLayout();
        this->tabPage2->ResumeLayout(false);
        this->tabPage2->PerformLayout();
        this->tabPage3->ResumeLayout(false);
        this->tabPage3->PerformLayout();
        this->groupBox1->ResumeLayout(false);
        this->groupBox1->PerformLayout();
        this->tabPage4->ResumeLayout(false);
        this->StatusBar->ResumeLayout(false);
        this->StatusBar->PerformLayout();
        this->MainMenu->ResumeLayout(false);
        this->MainMenu->PerformLayout();
        this->ResumeLayout(false);
        this->PerformLayout();

    }
}
